var e = require;
var t = module;
var o = exports;
var n,
    i = o,
    a =
        ((n = function (e, t) {
            return (n =
                Object.setPrototypeOf ||
                ({__proto__: []} instanceof Array &&
                    function (e, t) {
                        e.__proto__ = t;
                    }) ||
                function (e, t) {
                    for (var o in t) t.hasOwnProperty(o) && (e[o] = t[o]);
                })(e, t);
        }),
        function (e, t) {
            function o() {
                this.constructor = e;
            }
            n(e, t), (e.prototype = null === t ? Object.create(t) : ((o.prototype = t.prototype), new o()));
        });
Object.defineProperty(i, "__esModule", {value: !0});
var r = e("StartupCommand"),
    s = e("LoadResCommand"),
    c = e("LoadBundlesCommand"),
    l = e("LoginProxy"),
    d = e("LoginCommand"),
    u = e("RankProxy"),
    p = e("RankProxy2"),
    h = (function (e) {
        function t() {
            return (null !== e && e.apply(this, arguments)) || this;
        }
        return (
            a(t, e),
            Object.defineProperty(t, "instance", {
                get: function () {
                    return t._instance || (t._instance = new t()), t._instance;
                },
                enumerable: !1,
                configurable: !0
            }),
            (t.prototype.initializeController = function () {
                e.prototype.initializeController.call(this),
                    this.registerCommand(t.APP_STARTUP, r.default),
                    this.registerCommand(t.LOAD_BUNDLES, c.default),
                    this.registerCommand(t.LOAD_RES, s.default),
                    this.registerCommand(t.LOGIN_COMMAND, d.default);
            }),
            (t.prototype.initializeView = function () {
                e.prototype.initializeView.call(this),
                    this.registerProxy(new u.default()),
                    this.registerProxy(new p.default()),
                    this.registerProxy(new l.default());
            }),
            (t.prototype.startup = function () {
                this.sendNotification(t.APP_STARTUP);
            }),
            (t._instance = null),
            (t.APP_STARTUP = "APP_STARTUP"),
            (t.LOAD_BUNDLES = "LOAD_BUNDLES"),
            (t.LOAD_RES = "LOAD_RES"),
            (t.LOGIN_COMMAND = "LOGIN_COMMAND"),
            (t.ADD_COIN_COMMAND = "ADD_COIN_COMMAND"),
            t
        );
    })(puremvc.Facade);
i.default = h;
